<?php
load::model('producto');
load::model('pedido');
load::model('detallepedido');
class PedidoController extends AppController {
    
    public function before_filter() {
        if ( !Auth::is_valid()){
            Router::redirect('usuario/login/');
        }else{
            $this->tipoMenu="pedido";
        }
    }
    public function index(){
        
    }
    
    public function agregar(){
         if(input::hasPost('pedido')){
                $pedido = new Pedido(input::post('pedido'));
                
                if($pedido->save()){
                    
                    Flash::success('Pedido Agregado exitosamente'); 
                    Flash::info('Proceda a agregar Productos al Pedido'); 
                    router::redirect('detallepedido/agregar/'.$pedido->id);
                }else{
                    Flash::error('Error en la Operacion');
                    //se hacen persistente los datos en el formulario
                    $this->cuenta = $this->post('cuenta');
                }
            }	
    }
    
    public function editar($id){
        
    }
    
    public function eliminar($id){
       $pedido = new Pedido();
       $pedido = $pedido->find($id);
       $pedido->estado = "0";
            
       if ($pedido->update()) {
            Flash::valid('Operación exitosa');
       }else{
           Flash::error('Falló Operación'); 
       }
        return Router::redirect('pedido/listar');
    }
    
    public function listar(){
        $pedido = new Pedido();
        $this->pedido =   $pedido->find("order: ingreso_pedido_at","conditions: estado=1");  
    }
    
    public function procesar($id){
        if(Input::hasPost('pedido')){
             
             $producto  = new Producto();
             for ($i = 1; $i <= Input::post('cantidad'); $i++) {
                 for($x = 1; $x <= Input::post("cantidad$i") ; $x++ ){
                     $resu = $producto->find_by_codigo("".input::post("codigo$i")."");
                     $resu2 = $resu->find_first("estado=1");
                     $resu2->estado = 2;
                     if (!$resu2->update()){
                        Flash::error("error al descontar pedido del stock");
                     }else{
                         Flash::error("exito");
                     }
                 }
                
             }
             $pedido = new Pedido();
             $pedido = $pedido->find($id);
             $pedido->despacho_pedido   = date("Y/m/d");
             $pedido->estado            = 2;
             if(!$pedido->update(Input::post(pedido))){
                Flash::error('Error al validar pedido');

            }else{
                Flash::success('Pedido autorizado exitosamente');
            }
        }  
        $this->id_pedido    =   $id;
        
        $producto        =   new Producto();
        $detallepedido   =   new Detallepedido();
        $pedido          =   new Pedido();
        
        $this->producto         =   $producto->find(1);
        $this->detallepedido    =   $detallepedido->find("conditions: estado=1","conditions: pedido_id=".$id);
        $this->pedido           =   $pedido->find($id);
        
        
        
    }
    
    public function verPDF(){
        
    }
    
    public function informeVentas(){
        if (input::hasPost('desde','hasta')){
            $ventas =   new Pedido();
            $this->informeVentas    = $ventas->find("despacho_pedido between '".input::post('desde')."' and '".input::post('hasta')."'");
        }
    }
    public function informe(){
    
        
    }
}
?>
